package com.czm.art_light.service;


import com.czm.art_light.entity.ArtArtist;
import com.czm.art_light.param.request.ArtArtistReqDto;
import com.czm.art_light.param.request.ArtInfoReqDto;
import com.czm.art_light.param.request.PageReqDto;
import com.czm.art_light.param.response.ArtArtistBasicInfoRespDto;
import com.czm.art_light.param.response.ArtArtistEsRespDto;
import com.czm.art_light.param.response.ArtArtistInfoRespDto;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 艺术家信息 接口类
 */
public interface ArtArtistService {
    /**
     * 根据艺术家id查找对应的艺术家信息
     */
    ArtArtistInfoRespDto getById(ArtInfoReqDto artInfoReqDto);

    /**
     * 获取所有的艺术家基本信息(根据艺术话题的ID或者作品类别的ID或者作品所属的流派的ID)
     */
    List<ArtArtistBasicInfoRespDto> list(ArtArtistReqDto ArtArtistReqDto);

    /**
     * 查询所有的艺术家信息，将其存储到ES中
     */
    List<ArtArtistEsRespDto> syncArtistsToES();

    /**
     * 查询自指定时间以来新增或修改的艺术家数据
     */
    List<ArtArtistEsRespDto> getModifiedArtists(LocalDateTime lastSyncTime);
}
